package money;
/**
A cash register totals up sales and computes change due.
*/
public class CashRegister
{
/**
Constructs a cash register with no money in it.
*/
public CashRegister()
{
purchase = 0;
payment = 0;
}
/**
Records the sale of an item.
@param amount the price of the item
*/
public void recordPurchase(double amount)
{
double newTotal = purchase + amount;
purchase = newTotal;
}
/**
Enters the payment received from the customer; should be called once
for each coin type
@param coinCount the number of coins
@param coinType the type of the coins in the payment
*/
public void enterPayment(int coinCount, Coin coinType)
{
payment = payment + coinCount * coinType.getValue();
}
/**
Computes the change due and resets the machine for the next customer.
@return the change due to the customer
*/
public double giveChange()
{
double change = payment - purchase;
purchase = 0;
payment = 0;
return change;
}
private double purchase;
private double payment;
}